Industrial controllers are special purpose computers used for controlling industrial processes, manufacturing equipment, and other factory automation applications. In accordance with a control program, an industrial controller may measure one or more process variables or inputs reflecting the status of a controlled process, and change outputs effecting control of the process. The inputs and outputs may be binary, (e.g., on or off), as well as analog inputs and outputs assuming a continuous range of values. The control program may be executed in a series of execution cycles with batch processing capabilities.
The measured inputs received from a controlled process and the outputs transmitted to the process generally pass through one or more input/output (I/O) modules. These I/O modules serve as an electrical interface between the controller and the controlled process, and may be located proximate or remote from the controller. The inputs and outputs are recorded in an I/O table in processor memory. Input values may be asynchronously read from the controlled process by one or more input modules and output values are written directly to the I/O table by the processor for subsequent communication to the process by specialized communications circuitry. An output module may interface directly with a controlled process, by providing an output from an I/O table to an actuator such as a motor, valve, solenoid, and the like.
During execution of the control program, values of the inputs and outputs exchanged with the controlled process pass through the I/O table. The values of inputs in the I/O table are asynchronously updated from the controlled process by dedicated scanning circuitry. This scanning circuitry may communicate with input and/or output modules over a bus on a backplane or network communications. The scanning circuitry also asynchronously writes values of the outputs in the I/O table to the controlled process. The output values from the I/O table are then communicated to one or more output modules for interfacing with the process. Thus, the processor may simply access the I/O table rather than needing to communicate directly with the controlled process.
An industrial controller may be customized to a particular process by writing control software that may be stored in the controller's memory and/or by changing the hardware configuration of the controller to match the control task. In distributed control systems, controller hardware configuration is facilitated by separating the industrial controller into a number of control modules, each of which performs a different function. Particular control modules needed for the control task may then be connected together on a common backplane within a rack and/or through a network or other communications medium. The control modules may include processors, power supplies, network communication modules, and I/O modules exchanging input and output signals directly with the controlled process. Data may be exchanged between modules using a backplane communications bus, which may be serial or parallel, or via a network. In addition to performing I/O operations based solely on network communications, smart modules exist which may execute autonomous logical or other programs.
Various control modules of a distributed industrial control system may be spatially distributed along a common communication link in several racks. Certain I/O modules may thus be located in close proximity to a portion of the control equipment, and away from the remainder of the controller. Data is communicated with these remote modules over a common communication link, or network, wherein all modules on the network communicate using a standard communications protocol.
In a typical distributed control system, one or more I/O modules are provided for interfacing with a process. The outputs derive their control or output values in the form of a message from a master or peer device over a network or a backplane. For example, an output module may receive an output value from a processor, such as a programmable logic controller (PLC), via a communications network or a backplane communications bus. The desired output value is generally sent to the output module in a message, such as an I/O message. The output module receiving such a message will provide a corresponding output (analog or digital) to the controlled process. Input modules measure a value of a process variable and report the input values to a master or peer device over a network or backplane. The input values may be used by a processor (e.g., a PLC) for performing control computations.
Conventional control devices typically provide a run mode wherein a module executes a control program and a configure mode wherein the control program execution is suspended. As control systems become more widely distributed, the logic or control program associated with a particular process or system may be executed on a large number of modules or devices. In this way, individual processors in the devices execute a program autonomously from the rest of the system components. Smart devices, such as I/O modules, transducers, sensors, valves, and the like may thus be programmed to execute certain logical or other programs or operations independently from other such devices.
In distributed control systems, it may be desirable to notify remote systems or personnel of certain process conditions. Telephone lines and modems may be used to provide communications between controllers in a distributed control system and other devices. In addition, modems and pagers may be used to generate and transmit messages across telephone lines. Conventional modems communicate across telephone lines via standard protocols, such as the Telocator Alphanumeric Paging Protocol (TAP). The modem may communicate with a host device, such as a personal computer, via a standard communications or COMM port using standard communications protocols. The universal applicability of conventional modems is achieved in part through the use of standard communications with personal computers and the like. However, the messaging capabilities of these standard communications protocols is limited with respect to communicating with industrial control devices.
Industrial control devices typically are provided with communications interfaces allowing communication with other devices across a bus or network. Proprietary or specialized communications protocols and messaging are used in such control system communications architectures. Previously, industrial control devices had to be customized in order to communicate with conventional modem devices using standard communications protocols. This increased the cost of the control device, and sacrificed many advantageous messaging capabilities not supported by the standard protocol of prior modems or pagers. Consequently, the application of conventional modems and pagers to industrial control system devices has heretofore failed to adequately provide full communications messaging capabilities between distributed control system devices and remote devices and/or personnel at minimal cost, and without modification of the control system devices.